package org.pausd.gunn.compsci;

/**
 * A player, local or over the network.
 * @author CodyS
 *
 */
public abstract class Player{
	private Game g;
	public Player(Game g) {
		this.g = g;
	}
	public Game getGame() {
		return g;
	}
	/**
	 * Tell the player to leave.
	 */
	public abstract void leave();
	/**
	 * Call this to notify the player that the game has started.
	 */
	public abstract void started();
	/**
	 * Notify the player that he should decide if he is ready or not.
	 */
	public abstract void ready();
	/**
	 * Notify the player about the current value of the counter
	 * @param num
	 */
	public abstract void counter(int num);
	/**
	 * Tells the player that it is his turn and that he should go do something.
	 */
	public abstract void doTurn();
}
